Ordinary SMPS (switched mode power supply) converters may be able to operate in several operating modes. The switching between the individual modes of operation is usually determined by the operating conditions such as output load and/or input voltage. For example, a SMPS converter may operate in CRM (critical conduction mode), i.e. at the boundary between CCM (continuous conduction mode) and DCM (discontinuous conduction mode) during certain operation periods and in other operation periods it may operate in DCM. In the CCM the current flowing through the inductor of a SMPS converter never goes down to zero, in the DCM the current through the inductor of the SMPS converter reaches zero and may remain in that state for a certain period of time. The DCM is characterized by its operating stability and its low requirement with respect to computing power, since there is enough time for the control loop circuit monitoring and controlling the operation of the SMPS converter to calculate needed parameters for the next switching cycles. The modulation technique on which a given operation mode is based may also be updated due to a direct imposition of the operation mode update, for example, from a peak current control modulation to a time fixed control modulation. Changing between different operating modes and/or between different modulation techniques may impose a different usage of resources. For example, while in the peak current control mode one comparator, a slope generator and a timer may be needed, these resources may not be suitable for generating the PWM (pulse width modulation) signal in time fixed modulation.
In general an SMPS converter, independent of its actual operation mode, can also have a very high switching frequency in the range of a few hundreds of kilohertz up to a megahertz which results in the need for a high resolution PWM (pulse width modulation) 1 signal. The resolution of the PWM signal is calculated with the objective of achieving the minimum error within the control loop. This will usually impose, for example, that the PWM signal should have an accuracy/resolution of roughly 1 ns if a 10 bit resolution is needed for a converter operating at 1 MHz.
The demand for an SMPS converter with the ability to operate in various different operation modes is ordinarily solved by using a dedicated multimode SMPS converter controller IC. From the point of view of the microcontroller, this problem can be solved with a complete software control. This type of control would need to reconfigure the complete control loop, i.e. the hardware providing control loop functionality, or to use a double amount of hardware resources in order to provide two separate control loops, each corresponding to a different operation mode. Despite the possible use of such a controller, a high resolution PWM signal generation for low load operating conditions is usually not provided as it is exclusive to the generation of PWM signals for high load operating conditions as the hardware used for the high resolution path tends to be rather costly.
In ordinary feedback control loops for SMPS (switched mode power supplies), for example in SMPS applications providing DC-DC conversion, a slope generation (ramp generation) is needed in several DC-DC topologies in order to control the switching frequency or the duty cycle of the PWM (pulse width modulation) signal which controls the state of the power switches in the SMPS. When using ICs (integrated circuits) that do not have built-in standard slope generators (ramp generators) that include an oscillator and further analog components especially developed for this purpose, an external implementation of such a component is needed or the slope generating function needs to be emulated via software.
Using an external slope generator may be costly and further increase the overall size of the application. The other possibility of emulating a slope generator via a software algorithm, where the resulting signal fed to a DAC (digital-to-analog converter) may be problematic with respect to the required computing power. For example, at 1 MHz an ordinary microcontroller may be able to generate approximately 50 codes, each representing a discrete value of the ramp signal (slope signal). Therefore, the achievable resolution of a ramp signal thus produced may be too low for a lot of applications. In addition, usually a wide range of operation with respect to frequencies and resolutions of the generated ramp signal may need to be covered to meet customers' demands. This, however, may be difficult to implement via software. The alternative is to use a PLL (phase-locked loop) in the controller in order to generate all the possible clock frequencies for a certain application. This approach, however, is rather impractical due to the relatively high cost of a PLL.